package com.tianqi.common.enums;

/**
 * 六十四个六爻卦象
 *
 * @author zhangzedi
 * @date 2023/8/19 14:10
 **/
public enum GuaCangGanZhiEnum {
	LIWEIHUO("33", "离为火", "戊寅", "戊辰", "戊午", "戊申", "戊戌", "戊子"),
	HUOSHANLV("37", "火山旅", "戊寅", "戊辰", "戊午", "戊申", "戊戌", "戊子"),
	HUOFENGDING("35", "火风鼎", "戊寅", "戊辰", "戊午", "戊申", "戊戌", "戊子"),
	HUOSHUIWEIJI("36", "火水未济", "戊寅", "戊辰", "戊午", "戊申", "戊戌", "戊子"),
	SHANSHUIMENG("76", "山水蒙", "戊寅", "戊辰", "戊午", "戊申", "戊戌", "戊子"),
	FENGSHUIHUAN("56", "风水涣", "戊寅", "戊辰", "戊午", "戊申", "戊戌", "戊子"),
	TIANSHUISONG("16", "天水讼", "戊寅", "戊辰", "戊午", "戊申", "戊戌", "戊子"),
	TIANHUOTONGREN("13", "天火同人", "戊寅", "戊辰", "戊午", "戊申", "戊戌", "戊子"),


	KANWEISHUI("66", "坎为水", "己卯", "己丑", "己亥", "己酉", "己未", "己巳"),
	SHUIZEJIE("62", "水泽节", "己卯", "己丑", "己亥", "己酉", "己未", "己巳"),

	SHUILEITUI("64", "水雷屯", "己卯", "己丑", "己亥", "己酉", "己未", "己巳"),

	SHUIHUOJIJI("63", "水火既济", "己卯", "己丑", "己亥", "己酉", "己未", "己巳"),

	ZEHUOGE("23", "泽火革", "己卯", "己丑", "己亥", "己酉", "己未", "己巳"),

	LEIHUOFENG("43", "雷火丰", "己卯", "己丑", "己亥", "己酉", "己未", "己巳"),

	DIHUOMINGYI("83", "地火明夷", "己卯", "己丑", "己亥", "己酉", "己未", "己巳"),

	DISHUISHI("86", "地水师", "己卯", "己丑", "己亥", "己酉", "己未", "己巳"),


	GENWEISHAN("77", "艮为山", "丁巳", "丁卯", "丁丑", "丁亥", "丁酉", "丁未"),

	SHANHUOBEN("73", "山火贲", "丁巳", "丁卯", "丁丑", "丁亥", "丁酉", "丁未"),

	SHANTIANDACHU("71", "山天大畜", "丁巳", "丁卯", "丁丑", "丁亥", "丁酉", "丁未"),

	SHANZESHUI("72", "山泽损", "丁巳", "丁卯", "丁丑", "丁亥", "丁酉", "丁未"),

	HUOZEKUI("32", "火泽睽", "丁巳", "丁卯", "丁丑", "丁亥", "丁酉", "丁未"),

	TIANZELV("12", "天泽履", "丁巳", "丁卯", "丁丑", "丁亥", "丁酉", "丁未"),

	FENGZEZHONGFU("52", "风泽中孚", "丁巳", "丁卯", "丁丑", "丁亥", "丁酉", "丁未"),

	FENGSHANJIAN("57", "风山渐", "丁巳", "丁卯", "丁丑", "丁亥", "丁酉", "丁未"),


	DUIWEIZE("22", "兑为泽", "丙辰", "丙午", "丙申", "丙戌", "丙子", "丙寅"),

	ZESHUIKUN("26", "泽水困", "丙辰", "丙午", "丙申", "丙戌", "丙子", "丙寅"),

	ZEDICUI("28", "泽地萃", "丙辰", "丙午", "丙申", "丙戌", "丙子", "丙寅"),

	ZESHANWEI("27", "泽山咸", "丙辰", "丙午", "丙申", "丙戌", "丙子", "丙寅"),

	SHUISHANQIAN("67", "水山蹇", "丙辰", "丙午", "丙申", "丙戌", "丙子", "丙寅"),

	DISHANJIAN("87", "地山谦", "丙辰", "丙午", "丙申", "丙戌", "丙子", "丙寅"),

	LEISHANXIAOGUO("47", "雷山小过", "丙辰", "丙午", "丙申", "丙戌", "丙子", "丙寅"),

	LEIZEGUIMEI("42", "雷泽归妹", "丙辰", "丙午", "丙申", "丙戌", "丙子", "丙寅"),


	LEIWEIZHEN("44", "震为雷", "辛丑", "辛亥", "辛酉", "辛未", "辛巳", "辛卯"),
	LEIDIYU("48", "雷地豫", "辛丑", "辛亥", "辛酉", "辛未", "辛巳", "辛卯"),
	LEISHUIJIE("46", "雷水解", "辛丑", "辛亥", "辛酉", "辛未", "辛巳", "辛卯"),
	LEIFENGHENG("45", "雷风恒", "辛丑", "辛亥", "辛酉", "辛未", "辛巳", "辛卯"),

	DIFENGSHEN("85", "地风升", "辛丑", "辛亥", "辛酉", "辛未", "辛巳", "辛卯"),

	SHUIFENGJING("65", "水风井", "辛丑", "辛亥", "辛酉", "辛未", "辛巳", "辛卯"),

	ZEFENGDAGUO("25", "泽风大过", "辛丑", "辛亥", "辛酉", "辛未", "辛巳", "辛卯"),

	ZELEISUI("24", "泽雷随", "辛丑", "辛亥", "辛酉", "辛未", "辛巳", "辛卯"),


	XUNWEIFENG("55", "巽为风", "庚子", "庚寅", "庚辰", "庚午", "庚申", "庚戌"),

	FENGTIANXIAOXU("51", "风天小畜", "庚子", "庚寅", "庚辰", "庚午", "庚申", "庚戌"),

	FENGHUOJIAREN("53", "风火家人", "庚子", "庚寅", "庚辰", "庚午", "庚申", "庚戌"),

	FENGLEIYI("54", "风雷益", "庚子", "庚寅", "庚辰", "庚午", "庚申", "庚戌"),

	TIANLEIWUWANG("14", "天雷无妄", "庚子", "庚寅", "庚辰", "庚午", "庚申", "庚戌"),

	HUOLEISHIKE("34", "火雷噬嗑", "庚子", "庚寅", "庚辰", "庚午", "庚申", "庚戌"),

	SHANLEIYI("74", "山雷颐", "庚子", "庚寅", "庚辰", "庚午", "庚申", "庚戌"),

	SHANFENGGU("75", "山风蛊", "庚子", "庚寅", "庚辰", "庚午", "庚申", "庚戌"),


	KUNWEIDI("88", "坤为地", "甲子", "甲寅", "甲辰", "壬午", "壬申", "壬戌"),

	DILEIFU("84", "地雷复", "甲子", "甲寅", "甲辰", "壬午", "壬申", "壬戌"),

	DIZELIN("82", "地泽临", "甲子", "甲寅", "甲辰", "壬午", "壬申", "壬戌"),

	DITIANTAI("81", "地天泰", "甲子", "甲寅", "甲辰", "壬午", "壬申", "壬戌"),

	LEITIANDAZHUANG("41", "雷天大壮", "甲子", "甲寅", "甲辰", "壬午", "壬申", "壬戌"),

	ZETIANGUAI("21", "泽天夬", "甲子", "甲寅", "甲辰", "壬午", "壬申", "壬戌"),

	SHUITIANXU("61", "水天需", "甲子", "甲寅", "甲辰", "壬午", "壬申", "壬戌"),

	SHUIDIBI("68", "水地比", "甲子", "甲寅", "甲辰", "壬午", "壬申", "壬戌"),


	QIANWEITIAN("11", "乾为天", "乙未", "乙巳", "乙卯", "癸丑", "癸亥", "癸酉"),

	TIANFENGGOU("15", "天风姤", "乙未", "乙巳", "乙卯", "癸丑", "癸亥", "癸酉"),

	TIANSHANDUN("17", "天山遁", "乙未", "乙巳", "乙卯", "癸丑", "癸亥", "癸酉"),

	TIANDIPI("18", "天地否", "乙未", "乙巳", "乙卯", "癸丑", "癸亥", "癸酉"),

	FENGDIGUAN("58", "风地观", "乙未", "乙巳", "乙卯", "癸丑", "癸亥", "癸酉"),

	SHANDIBAO("78", "山地剥", "乙未", "乙巳", "乙卯", "癸丑", "癸亥", "癸酉"),

	HUODIJIN("38", "火地晋", "乙未", "乙巳", "乙卯", "癸丑", "癸亥", "癸酉"),

	HUOTIANDAYOU("31", "火天大有", "乙未", "乙巳", "乙卯", "癸丑", "癸亥", "癸酉");

	/**
	 * 上下卦的先天数
	 */
	private String guaIndex;
	/**
	 * 卦名
	 */
	private String name;

	/**
	 * 藏干支1
	 */
	private String cangGanZhi1;

	/**
	 * 藏干支2
	 */
	private String cangGanZhi2;

	/**
	 * 藏干支3
	 */
	private String cangGanZhi3;

	/**
	 * 藏干支4
	 */
	private String cangGanZhi4;

	/**
	 * 藏干支5
	 */
	private String cangGanZhi5;

	/**
	 * 藏干支6
	 */
	private String cangGanZhi6;

	public String getCangGanZhi(Integer index) {
		switch (index) {
			case 1:
				return cangGanZhi1;
			case 2:
				return cangGanZhi2;
			case 3:
				return cangGanZhi3;
			case 4:
				return cangGanZhi4;
			case 5:
				return cangGanZhi5;
			case 6:
				return cangGanZhi6;
			default:
				break;
		}
		return "";
	}

	public String getGuaIndex() {
		return guaIndex;
	}

	GuaCangGanZhiEnum(String guaIndex, String name, String cangGanZhi1, String cangGanZhi2, String cangGanZhi3,
					  String cangGanZhi4, String cangGanZhi5, String cangGanZhi6) {
		this.guaIndex = guaIndex;
		this.name = name;
		this.cangGanZhi1 = cangGanZhi1;
		this.cangGanZhi2 = cangGanZhi2;
		this.cangGanZhi3 = cangGanZhi3;
		this.cangGanZhi4 = cangGanZhi4;
		this.cangGanZhi5 = cangGanZhi5;
		this.cangGanZhi6 = cangGanZhi6;
	}

	/**
	 * 根据合并的下标获取枚举
	 *
	 * @param index
	 * @return
	 */
	public static GuaCangGanZhiEnum getGanZhiByIndex(String index) {
		GuaCangGanZhiEnum[] values = GuaCangGanZhiEnum.values();
		for (GuaCangGanZhiEnum guaCangGanZhiEnum : values) {
			if (index.equals(guaCangGanZhiEnum.getGuaIndex())) {
				return guaCangGanZhiEnum;
			}
		}
		return null;
	}
}
